English Virtuose

Meta description:

The character delivers a punch to the target's plexus which deals blunt damage and remove AP charges from the target action. They can also spend Rage Points in order to increase the target reaction time.

  • Tags:

    Blunt damage
  • Name:

    aBreathTakingPunch

  • Displayed name:

    Breath taking punch

  • Description:

    The character delivers a punch to the target's plexus which deals blunt damage and remove AP charges from the target action. They can also spend Rage Points in order to increase the target reaction time.

  • Cast description:

    | AP: vAP.string | CD: vCD.strings | | :---: | :---: | | **Flux: vFluxOrCost.string ➞ vFluxCost.string** | **Range: vRange.string** | On a successful **vTest.string** test **MR vMR.string** [1d20]: Deals 1d4 Blunt damage and removes vCharge.string AP from the target action. Moreover, by spending vRageUsed.string RP the target reaction time is increased by {vRageUsed.value/2} second(s). *The affected creature do a Vigor test which, on success, reduces by half the amount of AP lost, the damage and the reaction time increase.*

  • Condition:

    assert(character.sFlux.current >= vFluxCost.value, [[You don't have enough Flux]])
    assert(character.sRagePoints.current >= vRageUsed.value, [[You don't have enough rage points]])
  • AP cost:

    2

  • Cooldown:

    5

  • Flux cost:

    apMod(vAP)*cdMod(vCD)*targetMod(1,0)*puncMod(0,1)*contactMod*autoSave*halfOnSave*(effect(40,60)+effect(vCharge*150,75))
  • Variables:

    vCharge = NumberVariable([[vCharge]], [[Charge]], [[1]], [[10]], [[1]])
    vRageUsed = NumberVariable([[vRageUsed]], [[RP]], [[0]], [[sRagePoints]], [[2]])
    vRange = ListVariable([[vRange]], [[Range]], {[[contactMod]]}, {[[Contact]]})
    vTest = ListVariable([[vTest]], [[Test]], {[[character.sVigor]]}, {[[Vigor]]})
    vMR = StatVariable([[vMR]], [[vTest]])
  • On used script:

    character.sFlux:changeCurrent(-vFluxCost.value)
    
    character.sRagePoints:changeCurrent(-vRageUsed.value)
  • On post script:

    if (success) then
        action.currentCD.value = vCD.value
    end
    
  • Type:

    1

  • Action effects:

    • Use case:

      3

    • Name:

      Breath taking punch (Save failed)

    • Description:

    • Script:

      if {{vRageUsed.value}} > 0 then
          character:setReaction(character.currentReaction+{{math.floor(vRageUsed.value/2)}})
      end
      for _, action in pairs(character.actions) do
          charge = action.currentCharge.value - {{vCharge.value}}
          if charge < 0 then
              charge = 0
          end
          action.currentCharge:set(charge)
      end
    • Variables:

    • Use case:

      3

    • Name:

      Breath taking punch (Save succeed)

    • Description:

    • Script:

      if {{vRageUsed.value}} > 3 then
          character:setReaction(character.currentReaction+{{math.floor(vRageUsed.value/4)}})
      end
      malus = {{math.floor(vCharge.value/2)}}
      if  malus > 0 then
          for _, action in pairs(character.actions) do
              charge = action.currentCharge.value - malus
              if charge < 0 then
                  charge = 0
              end
              action.currentCharge:set(charge)
          end
      end
      
    • Variables: